<?php

namespace SL\FrontBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;

/**
 * Projet
 *
 * @ORM\Table()
 * @ORM\Entity(repositoryClass="SL\FrontBundle\Entity\ProjetRepository")
 */
class Projet
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

	/**
     * @var string
     *
     * @ORM\Column(name="maitre_ouvrage", type="string", nullable=true)
     */
    private $maitre_ouvrage = null;
	
	/**
     * @var string
     *
     * @ORM\Column(name="surface", type="string", nullable=true)
     */
    private $surface = null;
	
	/**
     * @var string
     *
     * @ORM\Column(name="mission", type="string", nullable=true)
     */
    private $mission = null;
	
	/**
     * @var string
     *
     * @ORM\Column(name="cout", type="string", nullable=true)
     */
    private $cout = null;
	
	/**
     * @var integer
     *
     * @ORM\Column(name="ligne", type="integer")
     */
    private $ligne;
	
	/**
     * @var integer
     *
     * @ORM\Column(name="position", type="integer")
     */
    private $position;
	
	/**
     * @var string
     *
     * @ORM\Column(name="url", type="string", length=255)
     */
    private $url;
	
    /**
     * @var string
     *
     * @ORM\Column(name="name", type="string", length=255)
     */
    private $name;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="date", type="date")
     */
    private $date;

    /**
     * @var string
     *
     * @ORM\Column(name="lieu", type="string", length=255)
     */
    private $lieu;
	
    /**
     * @var string
     *
     * @ORM\Column(name="description_title1", type="text", nullable=true)
     */
    private $description_title1 = null;
	
	/**
     * @var string
     *
     * @ORM\Column(name="description_1", type="text", nullable=true)
     */
    private $description_1 = null;
	
	/**
     * @var string
     *
     * @ORM\Column(name="description_title2", type="text", nullable=true)
     */
    private $description_title2 = null;
	
	/**
     * @var string
     *
     * @ORM\Column(name="description_2", type="text", nullable=true)
     */
    private $description_2 = null;
	
	/**
     * @var string
     *
     * @ORM\Column(name="description_title3", type="text", nullable=true)
     */
    private $description_title3 = null;
	
	/**
     * @var string
     *
     * @ORM\Column(name="description_3", type="text", nullable=true)
     */
	private $description_3 = null;
	
	/**
     * @var string
     *
     * @ORM\Column(name="recompense", type="text", nullable=true)
     */
    private $recompense = null;

	/**
     * @ORM\OneToMany(targetEntity="SL\FrontBundle\Entity\ImageProjet", mappedBy="projet")
     */
	private $images;

	/**
     * @ORM\OneToOne(targetEntity="SL\FrontBundle\Entity\Image", cascade={"persist"})
     */
	 private $couverture;
	 
	 /**
     * @Assert\Image(maxSize="6000000")
     */
    public $file;
	
     /**
     * Constructor
     */
    public function __construct()
    {
        $this->images = new \Doctrine\Common\Collections\ArrayCollection();
    }
    
    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set ligne
     *
     * @param integer $ligne
     * @return Projet
     */
    public function setLigne($ligne)
    {
        $this->ligne = $ligne;
    
        return $this;
    }

    /**
     * Get ligne
     *
     * @return integer 
     */
    public function getLigne()
    {
        return $this->ligne;
    }

    /**
     * Set position
     *
     * @param integer $position
     * @return Projet
     */
    public function setPosition($position)
    {
        $this->position = $position;
    
        return $this;
    }

    /**
     * Get position
     *
     * @return integer 
     */
    public function getPosition()
    {
        return $this->position;
    }

    /**
     * Set url
     *
     * @param string $url
     * @return Projet
     */
    public function setUrl($url)
    {
        $this->url = $url;
    
        return $this;
    }

    /**
     * Get url
     *
     * @return string 
     */
    public function getUrl()
    {
        return $this->url;
    }
	
	/**
     * Set Couverture
     *
     * @param string $couverture
     * @return Projet
     */
    public function setCouverture($couverture)
    {
        $this->couverture = $couverture;
    
        return $this;
    }

    /**
     * Get Couverture
     *
     * @return Image
     */
    public function getCouverture()
    {
        return $this->couverture;
    }

    /**
     * Set name
     *
     * @param string $name
     * @return Projet
     */
    public function setName($name)
    {
        $this->name = $name;
    
        return $this;
    }

    /**
     * Get name
     *
     * @return string 
     */
    public function getName()
    {
        return $this->name;
    }

    /**
     * Set date
     *
     * @param \DateTime $date
     * @return Projet
     */
    public function setDate($date)
    {
        $this->date = $date;
    
        return $this;
    }

    /**
     * Get date
     *
     * @return \DateTime 
     */
    public function getDate()
    {
        return $this->date;
    }

    /**
     * Set lieu
     *
     * @param string $lieu
     * @return Projet
     */
    public function setLieu($lieu)
    {
        $this->lieu = $lieu;
    
        return $this;
    }

    /**
     * Get lieu
     *
     * @return string 
     */
    public function getLieu()
    {
        return $this->lieu;
    }

    /**
     * Set description_title1
     *
     * @param string $descriptionTitle1
     * @return Projet
     */
    public function setDescriptionTitle1($descriptionTitle1)
    {
        $this->description_title1 = $descriptionTitle1;
    
        return $this;
    }

    /**
     * Get description_title1
     *
     * @return string 
     */
    public function getDescriptionTitle1()
    {
        return $this->description_title1;
    }

    /**
     * Set description_1
     *
     * @param string $description1
     * @return Projet
     */
    public function setDescription1($description1)
    {
        $this->description_1 = $description1;
    
        return $this;
    }

    /**
     * Get description_1
     *
     * @return string 
     */
    public function getDescription1()
    {
        return $this->description_1;
    }

    /**
     * Set description_title2
     *
     * @param string $descriptionTitle2
     * @return Projet
     */
    public function setDescriptionTitle2($descriptionTitle2)
    {
        $this->description_title2 = $descriptionTitle2;
    
        return $this;
    }

    /**
     * Get description_title2
     *
     * @return string 
     */
    public function getDescriptionTitle2()
    {
        return $this->description_title2;
    }

    /**
     * Set description_2
     *
     * @param string $description2
     * @return Projet
     */
    public function setDescription2($description2)
    {
        $this->description_2 = $description2;
    
        return $this;
    }

    /**
     * Get description_2
     *
     * @return string 
     */
    public function getDescription2()
    {
        return $this->description_2;
    }

    /**
     * Set description_title3
     *
     * @param string $descriptionTitle3
     * @return Projet
     */
    public function setDescriptionTitle3($descriptionTitle3)
    {
        $this->description_title3 = $descriptionTitle3;
    
        return $this;
    }

    /**
     * Get description_title3
     *
     * @return string 
     */
    public function getDescriptionTitle3()
    {
        return $this->description_title3;
    }

    /**
     * Set description_3
     *
     * @param string $description3
     * @return Projet
     */
    public function setDescription3($description3)
    {
        $this->description_3 = $description3;
    
        return $this;
    }

    /**
     * Get description_3
     *
     * @return string 
     */
    public function getDescription3()
    {
        return $this->description_3;
    }

    /**
     * Set recompense
     *
     * @param string $recompense
     * @return Projet
     */
    public function setRecompense($recompense)
    {
        $this->recompense = $recompense;
    
        return $this;
    }

    /**
     * Get recompense
     *
     * @return string 
     */
    public function getRecompense()
    {
        return $this->recompense;
    }

    /**
     * Add images
     *
     * @param \SL\FrontBundle\Entity\ImageProjet $images
     * @return Projet
     */
    public function addImage(\SL\FrontBundle\Entity\ImageProjet $images)
    {
        $this->images[] = $images;
    
        return $this;
    }

    /**
     * Remove images
     *
     * @param \SL\FrontBundle\Entity\ImageProjet $images
     */
    public function removeImage(\SL\FrontBundle\Entity\ImageProjet $images)
    {
        $this->images->removeElement($images);
    }

    /**
     * Get images
     *
     * @return \Doctrine\Common\Collections\Collection 
     */
    public function getImages()
    {
        return $this->images;
    }

    /**
     * Set maitre_ouvrage
     *
     * @param string $maitreOuvrage
     * @return Projet
     */
    public function setMaitreOuvrage($maitreOuvrage)
    {
        $this->maitre_ouvrage = $maitreOuvrage;
    
        return $this;
    }

    /**
     * Get maitre_ouvrage
     *
     * @return string 
     */
    public function getMaitreOuvrage()
    {
        return $this->maitre_ouvrage;
    }

    /**
     * Set surface
     *
     * @param string $surface
     * @return Projet
     */
    public function setSurface($surface)
    {
        $this->surface = $surface;
    
        return $this;
    }

    /**
     * Get surface
     *
     * @return string 
     */
    public function getSurface()
    {
        return $this->surface;
    }

    /**
     * Set mission
     *
     * @param string $mission
     * @return Projet
     */
    public function setMission($mission)
    {
        $this->mission = $mission;
    
        return $this;
    }

    /**
     * Get mission
     *
     * @return string 
     */
    public function getMission()
    {
        return $this->mission;
    }

    /**
     * Set cout
     *
     * @param string $cout
     * @return Projet
     */
    public function setCout($cout)
    {
        $this->cout = $cout;
    
        return $this;
    }

    /**
     * Get cout
     *
     * @return string 
     */
    public function getCout()
    {
        return $this->cout;
    }
}